EN FR
EN FR


Section: Scientific Foundations

Computer Virology

From a historical point of view, the first official virus appeared in 1983 on Vax-PDP 11. At the very same time, a series of papers was published which always remains a reference in computer virology: Thompson  [70] , Cohen  [39] and Adleman  [29] . The literature which explains and discusses practical issues is quite extensive  [43] , [45] . However, there are only a few theoretical/scientific studies, which attempt to give a model of computer viruses.

A virus is essentially a self-replicating program inside an adversary environment. Self-replication has a solid background based on works on fixed point in λ-calculus and on studies of von Neumann [75] . More precisely we establish in  [35] that Kleene's second recursion theorem  [58] is the cornerstone from which viruses and infection scenarios can be defined and classified. The bottom line of a virus behavior is

  1. a virus infects programs by modifying them,

  2. a virus copies itself and can mutate,

  3. it spreads throughout a system.

The above scientific foundation justifies our position to use the word virus as a generic word for self-replicating malwares. There is yet a difference. A malware has a payload, and virus may not have one. For example, worms are an autonous self-replicating malware and so fall into our definition. In fact, the current malware taxonomy (virus, worms, trojans, ...) is unclear and subject to debate.